package org.example.dbcompare.model.config;


import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Set;

/**
 * 比较时忽略表配置
 * @author wuyong
 * @date 2025/10/22
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IgnoreTableConfig {

    /**
     * 忽略表是否存在的表集合
     */
    private Set<String> ignoreTables;

    /**
     * 只忽略表结构对比的表名集合（仍会检查表是否存在）
     */
    private Set<String> ignoreTableStructure;

    /**
     * 只忽略列对比的表名集合（仍会检查表是否存在，但不对比列结构）
     */
    private Set<String> ignoreColumnCompare;

    /**
     * 表名匹配模式（支持通配符）
     * 例如：["temp_*", "*_backup", "log_*"]
     */
    private Set<String> ignorePatterns;

    /**
     * 配置描述
     */
    private String description;

    /**
     * 配置版本
     */
    private String version;
}
